\hypertarget{classduye_1_1_msg_queue}{\section{duye\-:\-:Msg\-Queue$<$ T $>$ Class Template Reference}
\label{classduye_1_1_msg_queue}\index{duye\-::\-Msg\-Queue$<$ T $>$@{duye\-::\-Msg\-Queue$<$ T $>$}}
}


message queue  




{\ttfamily \#include $<$duye\-\_\-msg\-\_\-queue.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classduye_1_1_msg_queue_a8cd4bd7655fb54f2fe8ead7b46dae4c4}{Msg\-Queue} (const uint64 queue\-\_\-size=D\-E\-F\-\_\-\-Q\-U\-E\-U\-E\-\_\-\-S\-I\-Z\-E)
\begin{DoxyCompactList}\small\item\em constructor \end{DoxyCompactList}\item 
bool \hyperlink{classduye_1_1_msg_queue_a548220b137a5c2d24448cfc1e83a9684}{push} (T $\ast$msg)
\begin{DoxyCompactList}\small\item\em push message \end{DoxyCompactList}\item 
T $\ast$ \hyperlink{classduye_1_1_msg_queue_a0cce1b9f7be2398121fe4af6765f4f77}{pop} (const Msg\-Queue\-Mode \&mode=M\-S\-G\-\_\-\-B\-L\-O\-C\-K)
\begin{DoxyCompactList}\small\item\em pop message \end{DoxyCompactList}\item 
T $\ast$ \hyperlink{classduye_1_1_msg_queue_a539770987afae104b9affdaefd682c5a}{pop} (const uint32 timeout)
\begin{DoxyCompactList}\small\item\em pop message \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class T$>$class duye\-::\-Msg\-Queue$<$ T $>$}

message queue 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classduye_1_1_msg_queue_a8cd4bd7655fb54f2fe8ead7b46dae4c4}{\index{duye\-::\-Msg\-Queue@{duye\-::\-Msg\-Queue}!Msg\-Queue@{Msg\-Queue}}
\index{Msg\-Queue@{Msg\-Queue}!duye::MsgQueue@{duye\-::\-Msg\-Queue}}
\subsubsection[{Msg\-Queue}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf duye\-::\-Msg\-Queue}$<$ T $>$\-::{\bf Msg\-Queue} (
\begin{DoxyParamCaption}
\item[{const uint64}]{queue\-\_\-size = {\ttfamily DEF\-\_\-QUEUE\-\_\-SIZE}}
\end{DoxyParamCaption}
)}}\label{classduye_1_1_msg_queue_a8cd4bd7655fb54f2fe8ead7b46dae4c4}


constructor 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em queue\-\_\-size} & \-: queue size, default is D\-E\-F\-\_\-\-Q\-U\-E\-U\-E\-\_\-\-S\-I\-Z\-E \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classduye_1_1_msg_queue_a0cce1b9f7be2398121fe4af6765f4f77}{\index{duye\-::\-Msg\-Queue@{duye\-::\-Msg\-Queue}!pop@{pop}}
\index{pop@{pop}!duye::MsgQueue@{duye\-::\-Msg\-Queue}}
\subsubsection[{pop}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T $\ast$ {\bf duye\-::\-Msg\-Queue}$<$ T $>$\-::pop (
\begin{DoxyParamCaption}
\item[{const Msg\-Queue\-Mode \&}]{mode = {\ttfamily MSG\-\_\-BLOCK}}
\end{DoxyParamCaption}
)}}\label{classduye_1_1_msg_queue_a0cce1b9f7be2398121fe4af6765f4f77}


pop message 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em mode} & \-: pop block \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
message 
\end{DoxyReturn}
\hypertarget{classduye_1_1_msg_queue_a539770987afae104b9affdaefd682c5a}{\index{duye\-::\-Msg\-Queue@{duye\-::\-Msg\-Queue}!pop@{pop}}
\index{pop@{pop}!duye::MsgQueue@{duye\-::\-Msg\-Queue}}
\subsubsection[{pop}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T $\ast$ {\bf duye\-::\-Msg\-Queue}$<$ T $>$\-::pop (
\begin{DoxyParamCaption}
\item[{const uint32}]{timeout}
\end{DoxyParamCaption}
)}}\label{classduye_1_1_msg_queue_a539770987afae104b9affdaefd682c5a}


pop message 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em timeout} & \-: millisecond \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
message 
\end{DoxyReturn}
\hypertarget{classduye_1_1_msg_queue_a548220b137a5c2d24448cfc1e83a9684}{\index{duye\-::\-Msg\-Queue@{duye\-::\-Msg\-Queue}!push@{push}}
\index{push@{push}!duye::MsgQueue@{duye\-::\-Msg\-Queue}}
\subsubsection[{push}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ bool {\bf duye\-::\-Msg\-Queue}$<$ T $>$\-::push (
\begin{DoxyParamCaption}
\item[{T $\ast$}]{msg}
\end{DoxyParamCaption}
)}}\label{classduye_1_1_msg_queue_a548220b137a5c2d24448cfc1e83a9684}


push message 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em msg} & \-: message \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Z\-:/duye/src/duyebase/public/\hyperlink{duye__msg__queue_8h}{duye\-\_\-msg\-\_\-queue.\-h}\end{DoxyCompactItemize}
